module space_manager

    implicit none

    integer :: num_dim
    real :: boundary(2,3)
    character(20) :: boundary_type(3)
    
    logical, private :: initialized = .false.

    namelist /space_manager_parameters/ &
        num_dim, boundary, boundary_type

contains

    subroutine space_manager_init(namelist_file)
        character(*), intent(in) :: namelist_file

        open(10, file=namelist_file)
        read(10, nml=space_manager_parameters)
        close(10)

        initialized = .true.

        return
    end subroutine space_manager_init

    logical function space_manager_initialized result(ans)
        ans = initialized
    end function space_manager_initialized

end module space_manager
